package com.blog.backend.service;

import com.blog.backend.req.ArticleListReq;
import com.blog.backend.req.EditArticleReq;
import com.blog.backend.req.InsertArticleReq;
import com.blog.backend.resp.ArticleResp;
import com.blog.backend.vo.PageResult;

import java.util.List;

public interface ArticlesService {

    /**
     * 新增文章
     * @param req
     */
    void insertArticle(InsertArticleReq req);

    /**
     * 文章列表
     * @param req
     * @return
     */
    PageResult<ArticleResp> queryArticleList(ArticleListReq req);

    /**
     * 文章详情
     * @param articleId
     * @return
     */
    ArticleResp queryDetail(String articleId,Integer status);

    /**
     * 修改文章
     * @param req
     */
    void editArticle(EditArticleReq req);

    /**
     * 删除文章
     * @param articleId
     */
    void deleteArticle(String articleId);

    PageResult<ArticleResp> getTechnologyList(ArticleListReq req);

    ArticleResp getNextArticle(String technologyId);

    List<ArticleResp> recommendArticleList();
}
